package edu.pku.sei.mte.mtemodel.metamodel;

import edu.pku.sei.mte.mtemodel.core.DataType;
import edu.pku.sei.mte.mtemodel.core.Element;
import edu.pku.sei.mte.mtemodel.core.NamedElement;
import edu.pku.sei.mte.mtemodel.core.TypedElement;
import edu.pku.sei.mte.utilities.Visitor;

public class RAttribute extends Element implements TypedElement, NamedElement {
	private DataType type;
	private String name;
	private Object defaultValue;

	public DataType getType() {
		return type;
	}

	public void setType(DataType type) {
		this.type = type;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Object getDefaultValue() {
		return defaultValue;
	}

	public void setDefaultValue(Object defaultValue) {
		this.defaultValue = defaultValue;
	}

	@Override
	public Object accept(Visitor visitor) {
		return visitor.visitRAttribute(this);
	}
}
